package commons.data.category;

import commons.Constants;

// Une catégorie est un sous-ensemble de données, basée sur une autre catégorie et un filtre
// récursivement, cela revient à faire une série de filtre avec des 'AND'
// La category 'categoryAllData', correspond à l'ensemble des données. Elle est la seule
//  a pouvoir avoir 'categoryBase==null'
public class Category {

	public String name;
	public Category categoryBase;
	public Filter filter;


	public static Category categoryAllData;
	public static Category categoryNoData;

	static {
		categoryAllData = new Category();
		categoryAllData.name = Constants.CATEGORY_ALLDATA_NAME;
		categoryAllData.categoryBase = null;
		categoryAllData.filter = Filter.allPassFilter;

		categoryNoData = new Category();
		categoryNoData.name = Constants.CATEGORY_NODATA_NAME;
		categoryNoData.categoryBase = null;
		categoryNoData.filter = Filter.nothingPassFilter;
	}


	@Override
	public String toString() {
		return name;
	}
}
